package route

import (
	admin2 "ecms/controller/admin"
	"ecms/middlewares"
	"github.com/gin-gonic/gin"
)

func SetAdmin(group *gin.RouterGroup) {
	// 登录服务
	loginController := &admin2.LoginController{}
	{
		// 密码登录
		group.POST("/login/password", loginController.Password)
	}

	// 需要登录
	group.Use(middlewares.AdminAccessToken())
	{
		// 上传中心
		uploadController := &admin2.UploadController{}
		{
			// 图片上传
			group.POST("/upload/image", uploadController.Image)
		}

		// 管理员管理
		memberController := &admin2.MemberController{}
		{
			// 个人资料
			group.GET("/member/profile", memberController.Profile)

			// 管理员列表
			group.POST("/member/index", memberController.Index)

			// 个人资料更新接口
			group.POST("/member/updateProfile", memberController.UpdateProfile)

			// 管理员添加
			group.POST("/member/create", memberController.Create)

			// 管理员编辑
			group.POST("/member/update", memberController.Update)

			// 管理员删除
			group.POST("/member/del", memberController.Delete)

			// 管理员禁用
			group.POST("/member/disable", memberController.Disable)

			// 管理员启用
			group.POST("/member/enable", memberController.Enable)
		}

		// 权限管理
		permissionController := &admin2.PermissionController{}
		{
			// 权限列表
			group.GET("/permission/index", permissionController.Index)

			// 菜单列表
			group.GET("/permission/menus", permissionController.Menus)

			// 权限添加
			group.POST("/permission/create", permissionController.Create)

			// 权限删除
			group.POST("/permission/del", permissionController.Delete)

			// 权限更新
			group.POST("/permission/update", permissionController.Update)
		}

		// 角色管理
		roleController := &admin2.RoleController{}
		{
			// 角色列表
			group.POST("/role/index", roleController.Index)

			// 角色添加
			group.POST("/role/create", roleController.Create)

			// 角色编辑
			group.POST("/role/update", roleController.Update)

			// 角色删除
			group.POST("/role/del", roleController.Delete)

			// 角色禁用
			group.POST("/role/disable", roleController.Disable)

			// 角色启用
			group.POST("/role/enable", roleController.Enable)

			// 角色选项列表
			group.GET("/role/options", roleController.Options)
		}

		// 部门管理
		departmentController := &admin2.DepartmentController{}
		{
			// 部门列表
			group.GET("/department/index", departmentController.Index)

			// 部门添加
			group.POST("/department/create", departmentController.Create)

			// 部门编辑
			group.POST("/department/update", departmentController.Update)

			// 部门删除
			group.POST("/department/del", departmentController.Delete)

			// 部门禁用
			group.POST("/department/disable", departmentController.Disable)

			// 部门启用
			group.POST("/department/enable", departmentController.Enable)

			// 部门选项列表
			group.GET("/department/options", departmentController.Options)
		}

		// 内容字段类型管理
		contentFieldTypeController := &admin2.ContentFieldTypeController{}
		{
			// 内容字段类型列表
			group.POST("/contentFieldType/index", contentFieldTypeController.Index)

			// 内容字段类型添加
			group.POST("/contentFieldType/create", contentFieldTypeController.Create)

			// 内容字段类型编辑
			group.POST("/contentFieldType/update", contentFieldTypeController.Update)

			// 内容字段类型删除
			group.POST("/contentFieldType/del", contentFieldTypeController.Delete)

			// 内容字段类型禁用
			group.POST("/contentFieldType/disable", contentFieldTypeController.Disable)

			// 内容字段类型启用
			group.POST("/contentFieldType/enable", contentFieldTypeController.Enable)
		}
	}
}
